package so.sao.code.service.infrastructure.model.vo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * 标签批次信息查询
 *
 * @author cuijunhua
 */
public class TagBatchVO implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = 2651326389687734571L;
    /**
     * 批次ID
     */
    private Long id=0L;
    /**
     * 批次名称
     */
    private String name="";
    /**
     * 该批次标签数量
     */
    private Long tagCount=0L;
    /**
     * 批次类型，参照so.sao.code.enums.TagBatchType
     */
    private Integer type=0;
    /**
     * 批次状态，参照so.sao.code.enums.TagBatchStatus
     */
    private Integer status=0;
    /**
     * 标签批次起始序号
     */
    private String seqnumStart="";
    /**
     * 标签批次结束序号
     */
    private String seqnumEnd="";
    /**
     * 标签批次印刷格式id<--tag_batch_config.id
     * <p>
     * 复用印刷格式
     */
    private Long tagBatchConfigId = 0L;
    /**
     * 创建时间
     */

@JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss",timezone ="GMT+8" )
    private Date createDate;

    /**
     * 标签区间信息
     */
    @JsonInclude
    private List<RangeActivationVO> rangeActivationVOs = new ArrayList<>();

    /**
     * 企业id
     */
    private Long eseId=0L;

    /**
     * 企业名称
     */
    private String eseName;
    /**
     * 激活量
     */

    @JsonInclude
    private Long activeCount=0L;
    private Integer ratio = 0;

    private Integer unitCount=0;

    /**
     * 打印工厂

     */

    @JsonInclude
    private String printFactory="";
    /**
     * 打印设备
     * */
    @JsonInclude
    private String printDevice="";

    /**
     * 下载次数
     */
    @JsonInclude
    private Integer DownloadCount = 0;

    /**
	 * 是否已报废,0为未报废,1为报废
	 */
	private Integer scrapStatus = 0;
    public String getPrintFactory() {
        return printFactory;
    }

    public void setPrintFactory(String printFactory) {
        this.printFactory = printFactory;
    }

    public String getPrintDevice() {
        return printDevice;
    }

    public void setPrintDevice(String printDevice) {
        this.printDevice = printDevice;
    }

    public Integer getDownloadCount() {
        return DownloadCount;
    }

    public void setDownloadCount(Integer downloadCount) {
        DownloadCount = downloadCount;
    }


    public Integer getRatio() {
        return ratio;
    }

    public void setRatio(Integer ratio) {
        this.ratio = ratio;
    }

    public void setEseId(Long eseId) {
        this.eseId = eseId;
    }

    public void setActiveCount(Long activeCount) {
        this.activeCount = activeCount;
    }

    public Integer getUnitCount() {
        return unitCount;
    }

    public void setUnitCount(Integer unitCount) {
        this.unitCount = unitCount;
    }

    public Long getTagBatchConfigId() {
        return tagBatchConfigId;
    }

    public void setTagBatchConfigId(Long tagBatchConfigId) {
        this.tagBatchConfigId = tagBatchConfigId;
    }

    public String getEseName() {
        return eseName;
    }

    public void setEseName(String eseName) {
        this.eseName = eseName;
    }

    public long getActiveCount() {
        return activeCount;
    }

    public List<RangeActivationVO> getRangeActivationVOs() {
        return rangeActivationVOs;
    }

    public void setRangeActivationVOs(List<RangeActivationVO> rangeActivationVOs) {
        this.rangeActivationVOs = rangeActivationVOs;
    }

    public void setActiveCount(long activeCount) {
        this.activeCount = activeCount;
    }

    private int register;

    public long getEseId() {
        return eseId;
    }

    public void setEseId(long eseId) {
        this.eseId = eseId;
    }

    public int getRegister() {
        return register;
    }

    public void setRegister(int register) {
        this.register = register;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getTagCount() {
        return tagCount;
    }

    public void setTagCount(Long tagCount) {
        this.tagCount = tagCount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getSeqnumStart() {
        return seqnumStart;
    }

    public void setSeqnumStart(String seqnumStart) {
        this.seqnumStart = seqnumStart;
    }

    public String getSeqnumEnd() {
        return seqnumEnd;
    }

    public void setSeqnumEnd(String seqnumEnd) {
        this.seqnumEnd = seqnumEnd;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

	public Integer getScrapStatus() {
		return scrapStatus;
	}

	public void setScrapStatus(Integer scrapStatus) {
		this.scrapStatus = scrapStatus;
	}
}
